Menu items: force loading 16x16 icons
authorLars Uebernickel <lars.uebernickel@canonical.com>
Thu, 11 Dec 2014 16:49:02 +0000 (17:49 +0100)
committerLars Uebernickel <lars.uebernickel@canonical.com>
Wed, 17 Dec 2014 16:52:03 +0000 (17:52 +0100)
GtkIconTheme doesn't scale icons beyond the size specified in the theme
anymore. This can result in arbitrarily large menu items when a theme
only provides large icons.

Force icons to always be 16x16 to ensure that menu items always have the
same height.

https://bugzilla.gnome.org/show_bug.cgi?id=741259

gtk/deprecated/gtkimagemenuitem.c
gtk/gtkmodelmenuitem.c

index e308d51e7ce0b5dd88603643cee9f5a081bcb85d..1b46ead863aba7c00d57021e34f0503e64ae2e5f 100644 (file)
@@ -1126,6 +1126,7 @@ gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item,
                 "visible", show_image (image_menu_item),
                 "no-show-all", TRUE,
                 NULL);
+  gtk_image_set_pixel_size (GTK_IMAGE (image), 16);
 
   g_object_notify (G_OBJECT (image_menu_item), "image");
 }
index dff3503b4f23037d0e7f47fb97662f2c57daa686..8591a7e837d519d93c1948dac1357779ca1adcd5 100644 (file)
@@ -199,6 +199,7 @@ gtk_model_menu_item_set_icon (GtkModelMenuItem *item,
       GtkWidget *image;
 
       image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_MENU);
+      gtk_image_set_pixel_size (GTK_IMAGE (image), 16);
       gtk_box_pack_start (GTK_BOX (child), image, FALSE, FALSE, 0);
       gtk_widget_show (image);
     }